import { Scene, PointLayer } from '@antv/l7';
import { GaodeMap } from '@antv/l7-maps';

window.onLoad = function() {
  const map = new AMap.Map('map', {
    viewMode: '3D',
    pitch: 0,
    mapStyle: 'amap://styles/darkblue',
    center: [ 121.435159, 31.256971 ],
    zoom: 14.89,
    minZoom: 10
  });
  const scene = new Scene({
    id: 'map',
    map: new GaodeMap({
      mapInstance: map
    })
  });
  fetch(
    'https://gw.alipayobjects.com/os/basement_prod/893d1d5f-11d9-45f3-8322-ee9140d288ae.json'
  )
    .then(res => res.json())
    .then(data => {
      const pointLayer = new PointLayer()
        .source(data, {
          parser: {
            type: 'json',
            x: 'longitude',
            y: 'latitude'
          }
        })
        .shape('name', [
          'circle',
          'triangle',
          'square',
          'pentagon',
          'hexagon',
          'octogon',
          'hexagram',
          'rhombus',
          'vesica'
        ])
        .size('unit_price', [ 10, 25 ])
        .color('name', [ '#5B8FF9', '#5CCEA1', '#5D7092', '#F6BD16', '#E86452' ])
        .style({
          opacity: 0.3,
          strokeWidth: 2
        });
      scene.addLayer(pointLayer);
    });
};
const url = 'https://webapi.amap.com/maps?v=1.4.15&key=15cd8a57710d40c9b7c0e3cc120f1200&callback=onLoad';
const jsapi = document.createElement('script');
jsapi.charset = 'utf-8';
jsapi.src = url;
document.head.appendChild(jsapi);
